Sound rendering or auditory displays can augment graphical rendering and provide the user with an enhanced spatial sense of presence. Some of the driving applications of sound rendering include acoustic design of architectural models or outdoor scenes, walkthroughs of large CAD models with sounds of machine parts or moving people, urban scenes with traffic, training systems, computer games, etc. A key component in these applications is accurate computation of sound propagation paths, which takes into account the knowledge of sound sources, listener locations, the 3D model of the environment, and material absorption and scattering properties.
The propagation of sound in a medium is governed by the acoustic wave equation, a second-order partial differential equation. However, numerical methods that directly solve the acoustic wave equation can take tens of minutes even for simple rooms. Moreover, for numerical methods, the computation time grows as a fourth power of the maximum frequency simulated, and is proportional to the volume of the enclosed space. Hence they can only be used for small rooms and for low frequencies.
On the other hand, fast sound propagation methods are based on geometric acoustic (GA) algorithms, such as ray tracing or volumetric tracing. These geometric acoustics (GA) techniques are not as accurate as numerical methods in terms of solving the wave equation, and cannot easily model all kinds of propagation effects, but they allow simulation of early reflections at real-time rates. These methods work well in terms of handling specular reflections, and can take advantage of recent advances in real-time ray tracing methods and multi-core processors. However, current geometric propagation methods are either not fast enough for interactive applications or may not compute all propagation paths accurately. As a result, interactive applications such as computer games tend to use statically designed environment reverberation filters. Some games use ray tracing to estimate the size of a room and use this information to set parameters for a reverberation filter. Games also use precomputed visibility to determine if a source is out of line of sight from the listener. This is usually performed at a coarse level (i.e., visibility can be determined at a room-to-room level of detail using cell-and-portal visibility or ray shooting). If the source is not visible, a low-pass filter is usually applied to approximate diffraction effects. However the direction is the direct line from source to listener, which leads to very unnatural sound which seems to emanate from solid walls.
Accordingly, it would be desirable for an improved method and system for modeling sound propagation to allow for faster computation of sound propagation paths.